package xin.marcher.module.inventory.domain.bo;

import lombok.Data;
import xin.marcher.module.inventory.domain.entity.InventoryBucketConfigDO;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 分桶扣减库存上下文对象
 *
 * 
 */
@Data
public class BucketContext {

    /**
     * 存储分桶的具体相关信息，包括发放的上限
     */
    private List<BucketCacheBO> availableList = new ArrayList<>();

    /**
     * 扣减明细信息
     */
    private InventoryDetail inventoryDetail;

    /**
     * 缓存明细的实际key
     */
    private String inventoryDetailKey;

    /**
     * 用来处理扩容所用
     */
    private Map<String, Integer> capacityMap = new HashMap<>();

    /**
     * 当前分桶的配置信息
     */
    private InventoryBucketConfigDO inventoryBucketConfig;

}
